package br.com.rumus.mb.seguranca;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import br.com.rumus.dominio.seguranca.Papel;
import br.com.rumus.facade.FacadeSeguranca;
import br.com.rumus.jsf.FacesUtils;
import br.com.rumus.mb.ListarBean;

@ManagedBean(name="listarPapel")
@ViewScoped
public class ListarPapelBean extends ListarBean<Papel>{
	
	private Papel objeto;
	private FacadeSeguranca facade = new FacadeSeguranca();
	
	public Papel getObjeto() {
		if(this.objeto==null){
			this.objeto = new Papel();
		}
		return objeto;
	}
	
	public void setObjeto(Papel objeto) {
		this.objeto = objeto;
	}
	
	public String incluir(){
		return "/seguranca/papel/editar.faces";
	}
	
	public String editar(){
		return "/seguranca/papel/editar.faces";
	}

	@Override
	public String pesquisar() {
		super.abrirLista();
		return null;
	}
	
	@Override
	public String remover() {
		if(!facade.vinculoPapel(this.objeto)){
			facade.remover(objeto);
			super.abrirLista();
		}else{
			FacesUtils.erro(FacesUtils.i18nMensagem("papel.mensagem.vinculo"));
		}
		return null;
	}

	@Override
	public List<Papel> getDados(int registro, int quantidade) {
		return facade.pesquisar(this.objeto, registro, quantidade);
	}

	@Override
	public int getQuantidade() {				
		return facade.pesquisar(this.objeto);
	}
	
}